<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Iterated binary operation</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Iterated_binary_operation"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Iterated_binary_operation rootpage-Iterated_binary_operation skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Iterated binary operation</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In <a href="Mathematics" title="Mathematics">mathematics</a>, an <b>iterated binary operation</b> is an extension of a <a href="Binary_operation" title="Binary operation">binary operation</a> on a <a href="Set_(mathematics)" title="Set (mathematics)">set</a> <i>S</i> to a <a href="Function_(mathematics)" title="Function (mathematics)">function</a> on finite <a href="Sequence" title="Sequence">sequences</a> of elements of <i>S</i> through repeated application.<sup id="cite_ref-IBO1_1-0" class="reference"><a href="#cite_note-IBO1-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Common examples include the extension of the <a href="Addition" title="Addition">addition</a> operation to the <a href="Summation" title="Summation">summation</a> operation, and the extension of the <a href="Multiplication" title="Multiplication">multiplication</a> operation to the <a href="Product_(mathematics)" title="Product (mathematics)">product</a> operation. Other operations, e.g., the set-theoretic operations <a href="Union_(set_theory)" title="Union (set theory)">union</a> and <a href="Intersection_(set_theory)" title="Intersection (set theory)">intersection</a>, are also often <a href="Iterated" class="mw-redirect" title="Iterated">iterated</a>, but the iterations are not given separate names. In print, summation and product are represented by special symbols; but other iterated operators often are denoted by larger variants of the symbol for the ordinary binary operator. Thus, the iterations of the four operations mentioned above are denoted
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum ,\ \prod ,\ \bigcup ,}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>∑<!-- ∑ --></mo>
<mo>,</mo>
<mtext> </mtext>
<mo>∏<!-- ∏ --></mo>
<mo>,</mo>
<mtext> </mtext>
<mo>⋃<!-- ⋃ --></mo>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum ,\ \prod ,\ \bigcup ,}</annotation>
</semantics>
</math></span><img src="./def92a214c1e191ac3c72201eb29d2acc2ff11c4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:13.556ex; height:3.843ex;" alt="{\displaystyle \sum ,\ \prod ,\ \bigcup ,}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \bigcap }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>⋂<!-- ⋂ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \bigcap }</annotation>
</semantics>
</math></span><img src="./c0adfc18fcdbe3b7df28d94884ec24ca3ecc937b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:2.582ex; height:3.843ex;" alt="{\displaystyle \bigcap }" loading="lazy"></span>, respectively.</dd></dl>
<p>More generally, iteration of a binary function is generally denoted by a slash: iteration of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f}</annotation>
</semantics>
</math></span><img src="./132e57acb643253e7810ee9702d9581f159a1c61.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:1.279ex; height:2.509ex;" alt="{\displaystyle f}" loading="lazy"></span> over the sequence <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (a_{1},a_{2}\ldots ,a_{n})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (a_{1},a_{2}\ldots ,a_{n})}</annotation>
</semantics>
</math></span><img src="./629cd7d64778f0c473a2123a6ea17ee62b0fef40.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.391ex; height:2.843ex;" alt="{\displaystyle (a_{1},a_{2}\ldots ,a_{n})}" loading="lazy"></span> is denoted by <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f/(a_{1},a_{2}\ldots ,a_{n})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo>/</mo>
</mrow>
<mo stretchy="false">(</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f/(a_{1},a_{2}\ldots ,a_{n})}</annotation>
</semantics>
</math></span><img src="./36c50800d59d2cafc337f4cb6241aad8bae82c7b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.832ex; height:2.843ex;" alt="{\displaystyle f/(a_{1},a_{2}\ldots ,a_{n})}" loading="lazy"></span>, following the notation for <a href="Fold_(higher-order_function)" title="Fold (higher-order function)">reduce</a> in <a href="Bird%E2%80%93Meertens_formalism" title="Bird–Meertens formalism">Bird–Meertens formalism</a>.
</p><p>In general, there is more than one way to extend a binary operation to operate on finite sequences, depending on whether the operator is <a href="Associative" class="mw-redirect" title="Associative">associative</a>, and whether the operator has <a href="Identity_element" title="Identity element">identity elements</a>.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Definition">Definition</h2></div>
<p>Denote by <b>a</b><sub><i>j</i>,<i>k</i></sub>, with <span class="nowrap"><i>j</i> ≥ 0</span> and <span class="nowrap"><i>k</i> ≥ <i>j</i></span>, the finite sequence of length <span class="nowrap"><i>k</i> − <i>j</i></span> of elements of <i>S</i>, with members (<i>a</i><sub>i</sub>), for <span class="nowrap"><i>j</i> ≤ <i>i</i> < <i>k</i></span>. Note that if <span class="nowrap"><i>k</i> = <i>j</i></span>, the sequence is empty.
</p><p>For <span class="nowrap"><i>f</i> : <i>S</i> × <i>S</i> → <i>S</i></span>, define a new function <i>F</i><sub><i>l</i></sub> on finite nonempty sequences of elements of <i>S</i>, where
<span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F_{l}(\mathbf {a} _{0,k})={\begin{cases}a_{0},&k=1\\f(F_{l}(\mathbf {a} _{0,k-1}),a_{k-1}),&k>1.\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>F</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">a</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
</mtd>
<mtd>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>f</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>F</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>l</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">a</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>,</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mtd>
<mtd>
<mi>k</mi>
<mo>></mo>
<mn>1.</mn>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle F_{l}(\mathbf {a} _{0,k})={\begin{cases}a_{0},&k=1\\f(F_{l}(\mathbf {a} _{0,k-1}),a_{k-1}),&k>1.\end{cases}}}</annotation>
</semantics>
</math></span></span>
</p><p>Similarly, define
<span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle F_{r}(\mathbf {a} _{0,k})={\begin{cases}a_{0},&k=1\\f(a_{0},F_{r}(\mathbf {a} _{1,k})),&k>1.\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>F</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>r</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">a</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
</mtd>
<mtd>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>f</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>F</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>r</mi>
</mrow>
</msub>
<mo stretchy="false">(</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">a</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo stretchy="false">)</mo>
<mo>,</mo>
</mtd>
<mtd>
<mi>k</mi>
<mo>></mo>
<mn>1.</mn>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle F_{r}(\mathbf {a} _{0,k})={\begin{cases}a_{0},&k=1\\f(a_{0},F_{r}(\mathbf {a} _{1,k})),&k>1.\end{cases}}}</annotation>
</semantics>
</math></span></span>
</p><p>If <i>f</i> has a unique left identity <i>e</i>, the definition of <i>F</i><sub><i>l</i></sub> can be modified to operate on empty sequences by defining the value of <i>F</i><sub><i>l</i></sub> on an empty sequence to be <i>e</i> (the previous base case on sequences of length 1 becomes redundant). Similarly, <i>F</i><sub><i>r</i></sub> can be modified to operate on empty sequences if <i>f</i> has a unique right identity.
</p><p>If <i>f</i> is associative, then <i>F</i><sub><i>l</i></sub> equals <i>F</i><sub><i>r</i></sub>, and we can simply write <i>F</i>. Moreover, if an identity element <i>e</i> exists, then it is unique (see <a href="Monoid" title="Monoid">Monoid</a>).
</p><p>If <i>f</i> is <a href="Commutative" class="mw-redirect" title="Commutative">commutative</a> and associative, then <i>F</i> can operate on any non-empty finite <a href="Multiset" title="Multiset">multiset</a> by applying it to an arbitrary enumeration of the multiset. If <i>f</i> moreover has an identity element <i>e</i>, then this is defined to be the value of <i>F</i> on an empty multiset. If <i>f</i> is idempotent, then the above definitions can be extended to <a href="Finite_set" title="Finite set">finite sets</a>.
</p><p>If <i>S</i> also is equipped with a <a href="Metric_(mathematics)" class="mw-redirect" title="Metric (mathematics)">metric</a> or more generally with <a href="Topology" title="Topology">topology</a> that is <a href="Hausdorff_space" title="Hausdorff space">Hausdorff</a>, so that the concept of a <a href="Limit_of_a_sequence" title="Limit of a sequence">limit of a sequence</a> is defined in <i>S</i>, then an <i><a href="Infinity" title="Infinity">infinite</a> iteration</i> on a countable sequence in <i>S</i> is defined exactly when the corresponding sequence of finite iterations converges. Thus, e.g., if <i>a</i><sub>0</sub>, <i>a</i><sub>1</sub>, <i>a</i><sub>2</sub>, <i>a</i><sub>3</sub>, … is an infinite sequence of <a href="Real_number" title="Real number">real numbers</a>, then the <a href="Infinite_product" title="Infinite product">infinite product</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle \prod _{i=0}^{\infty }a_{i}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munderover>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle \prod _{i=0}^{\infty }a_{i}}</annotation>
</semantics>
</math></span><img src="./e2128727eb5bce437d6f89ab84b40cc3afec2c0f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:7.51ex; height:3.176ex;" alt="{\textstyle \prod _{i=0}^{\infty }a_{i}}" loading="lazy"></span> is defined, and equal to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\textstyle \lim \limits _{n\to \infty }\prod _{i=0}^{n}a_{i},}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="false" scriptlevel="0">
<munder>
<mo form="prefix">lim</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo stretchy="false">→<!-- → --></mo>
<mi mathvariant="normal">∞<!-- ∞ --></mi>
</mrow>
</munder>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</munderover>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>,</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\textstyle \lim \limits _{n\to \infty }\prod _{i=0}^{n}a_{i},}</annotation>
</semantics>
</math></span><img src="./ac339745b5614a95b72c75aa25fbe0d1aeabbd0b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:12.817ex; height:4.009ex;" alt="{\textstyle \lim \limits _{n\to \infty }\prod _{i=0}^{n}a_{i},}" loading="lazy"></span> if and only if that limit exists.
</p>
<div class="mw-heading mw-heading2"><h2 id="Non-associative_binary_operation">Non-associative binary operation</h2></div>
<p>The general, non-associative binary operation is given by a <a href="Magma_(algebra)" title="Magma (algebra)">magma</a>. The act of iterating on a non-associative binary operation may be represented as a <a href="Binary_tree" title="Binary tree">binary tree</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Notation">Notation</h2></div>
<p>Iterated binary operations are used to represent an operation that will be repeated over a set subject to some constraints. Typically the lower bound of a restriction is written under the symbol, and the upper bound over the symbol, though they may also be written as superscripts and subscripts in compact notation. Interpolation is performed over positive <a href="Integer" title="Integer">integers</a> from the lower to upper bound, to produce the set which will be substituted into the index (below denoted as <i>i</i><span class="nowrap"> </span>) for the repeated operations.
</p><p>Common notations include the big <b>S</b>igma (<a href="Summation" title="Summation">repeated <b>s</b>um</a>) and big <b>P</b>i (<a href="Product_(mathematics)" title="Product (mathematics)">repeated <b>p</b>roduct</a>) notations.
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{i=0}^{n-1}i=0+1+2+\dots +(n-1)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munderover>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
<mo>+</mo>
<mn>1</mn>
<mo>+</mo>
<mn>2</mn>
<mo>+</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>+</mo>
<mo stretchy="false">(</mo>
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum _{i=0}^{n-1}i=0+1+2+\dots +(n-1)}</annotation>
</semantics>
</math></span></span>
<span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \prod _{i=0}^{n-1}i=0\times 1\times 2\times \dots \times (n-1)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
<mo>×<!-- × --></mo>
<mn>1</mn>
<mo>×<!-- × --></mo>
<mn>2</mn>
<mo>×<!-- × --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>×<!-- × --></mo>
<mo stretchy="false">(</mo>
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \prod _{i=0}^{n-1}i=0\times 1\times 2\times \dots \times (n-1)}</annotation>
</semantics>
</math></span></span>
</p><p>It is possible to specify set membership or other logical constraints in place of explicit indices, in order to implicitly specify which elements of a set shall be used:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{x\in S}x=x_{1}+x_{2}+x_{3}+\dots +x_{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mo>∈<!-- ∈ --></mo>
<mi>S</mi>
</mrow>
</munder>
<mi>x</mi>
<mo>=</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msub>
<mo>+</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>+</mo>
<msub>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum _{x\in S}x=x_{1}+x_{2}+x_{3}+\dots +x_{n}}</annotation>
</semantics>
</math></span></span>
</p><p>Multiple conditions may be written either joined with a <a href="Logical_and" class="mw-redirect" title="Logical and">logical and</a> or separately:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \sum _{(i\in 2\mathbb {N} )\wedge (i\leq n)}i=\sum _{\stackrel {i\in 2\mathbb {N} }{i\leq n}}i=0+2+4+\dots +n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">(</mo>
<mi>i</mi>
<mo>∈<!-- ∈ --></mo>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">N</mi>
</mrow>
<mo stretchy="false">)</mo>
<mo>∧<!-- ∧ --></mo>
<mo stretchy="false">(</mo>
<mi>i</mi>
<mo>≤<!-- ≤ --></mo>
<mi>n</mi>
<mo stretchy="false">)</mo>
</mrow>
</munder>
<mi>i</mi>
<mo>=</mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-REL">
<mover>
<mrow class="MJX-TeXAtom-OP MJX-fixedlimits">
<mi>i</mi>
<mo>≤<!-- ≤ --></mo>
<mi>n</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>∈<!-- ∈ --></mo>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="double-struck">N</mi>
</mrow>
</mrow>
</mover>
</mrow>
</mrow>
</munder>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
<mo>+</mo>
<mn>2</mn>
<mo>+</mo>
<mn>4</mn>
<mo>+</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>+</mo>
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \sum _{(i\in 2\mathbb {N} )\wedge (i\leq n)}i=\sum _{\stackrel {i\in 2\mathbb {N} }{i\leq n}}i=0+2+4+\dots +n}</annotation>
</semantics>
</math></span></span>
</p><p>Less commonly, any <a href="Binary_operator" class="mw-redirect" title="Binary operator">binary operator</a> such as <a href="Exclusive_or" title="Exclusive or">exclusive or</a> <span class="nowrap">(<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \oplus }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>⊕<!-- ⊕ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \oplus }</annotation>
</semantics>
</math></span><img src="./8b16e2bdaefee9eed86d866e6eba3ac47c710f60.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:1.808ex; height:2.176ex;" alt="{\displaystyle \oplus }" loading="lazy"></span>)</span> or <a href="Set_union" class="mw-redirect" title="Set union">set union</a> <span class="nowrap">(<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \cup }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo>∪<!-- ∪ --></mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \cup }</annotation>
</semantics>
</math></span><img src="./e8ff7d0293ad19b43524a133ae5129f3d71f2040.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.55ex; height:2.009ex;" alt="{\displaystyle \cup }" loading="lazy"></span>)</span> may also be used.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> For example, if <i>S</i> is a set of logical <a href="Proposition" title="Proposition">propositions</a>:
</p><p><span class="mwe-math-element mwe-math-element-block"><span class="mwe-math-mathml-display mwe-math-mathml-a11y" style="display: none;"><math display="block" xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \bigwedge _{p\in S}p=p_{1}\wedge p_{2}\wedge \dots \wedge p_{N}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>⋀<!-- ⋀ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>p</mi>
<mo>∈<!-- ∈ --></mo>
<mi>S</mi>
</mrow>
</munder>
<mi>p</mi>
<mo>=</mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>p</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \bigwedge _{p\in S}p=p_{1}\wedge p_{2}\wedge \dots \wedge p_{N}}</annotation>
</semantics>
</math></span></span>
</p><p>which is true <a href="Iff" class="mw-redirect" title="Iff">iff</a> all of the elements of <i>S</i> are true.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Unary_operation" title="Unary operation">Unary operation</a></li>
<li><a href="Unary_function" title="Unary function">Unary function</a></li>
<li><a href="Binary_operation" title="Binary operation">Binary operation</a></li>
<li><a href="Binary_function" title="Binary function">Binary function</a></li>
<li><a href="Ternary_operation" title="Ternary operation">Ternary operation</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-IBO1-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-IBO1_1-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFSaunders_MacLane1971" class="citation book cs1">Saunders MacLane (1971). <i>Categories for the Working Mathematician</i>. New York: Springer-Verlag. p. 142. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0387900357</bdi>.</cite></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><cite id="CITEREFWeisstein" class="citation web cs1">Weisstein, Eric W. <a rel="nofollow" class="external text" href="http://mathworld.wolfram.com/Union.html">"Union"</a>. <i>mathworld.wolfram.com</i>. Wolfram Mathworld<span class="reference-accessdate">. Retrieved <span class="nowrap">30 January</span> 2018</span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20071009181156/http://www.short-fuze.co.uk/~eddy/math/associate.html">Bulk action</a></li>
<li><a rel="nofollow" class="external text" href="http://wotug.ukc.ac.uk/parallel/acronyms/hpccgloss/P.html#parallel%20prefix">Parallel prefix operation</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130603182033/http://wotug.ukc.ac.uk/parallel/acronyms/hpccgloss/P.html#parallel%20prefix">Archived</a> 2013-06-03 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></li>
<li><a rel="nofollow" class="external text" href="http://www.cs.cornell.edu/Info/People/sfa/Nuprl/iterated_binops/Xiter_via_intseg_remark_INTRO.html">Nuprl iterated binary operations</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-03-07" href="https://en.wikipedia.org/wiki/?title=Iterated_binary_operation&oldid=1279251407">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>